This invention relates in general to user interfaces for accessing computer applications and information resources and, in particular, to user interfaces that provide advertising obtained over a global computer network such as the Internet. This invention also relates to user interfaces for maintaining, organizing and communicating information accessible to a computer network such as the Internet and, in particular, to user interfaces that provide the user with availability to that information in a personalized manner.
The continuing expansion of the Internet and other private and semi-private networks has led to the now widespread practice of electronic distribution of software to end users, whether as freeware, shareware, or fully paid-up licensed software. Traditionally, freeware programs have generally been small, unsupported single-purpose programs that are of limited use. Since no income was derived from these programs, there was little incentive for the creators of this type of software to undertake major development efforts. More recently, however, a new type of free software has emerged which, while free to end users, does provide income to the creator of the software via advertising incorporated into the software. This is of benefit both to the end user and advertiser, as the end user obtains useful software at no cost and the advertiser gets advertising exposure for its products or services. One well known example of this type of arrangement is in push technology products, such as Pointcast(trademark), which permits a user to receive and display broadcasted information over the Internet. Using this software, new advertising is periodically received along with various requested types of news information (e.g., financial, business, sports) and is stored locally on the user""s computer for later retrieval and display by the program.
The new advertising medium provided by the Internet has a number of significant advantages for advertisers. First, the users of the software within which the advertising is placed have, on average, much more disposable income to spend on products and services than the average user of other traditional advertising media, such as television or print. Second, the advertising can, in some instances, be targeted in various ways, such as demographically or reactively. An example of the latter of these is in push technology where the user requests certain types of information and this request is used to select the type of advertisement sent to the user along with the requested content. Third, the advertising can not only include audio and video elements as well as simple visual elements, but can also be interactive. For example, by clicking on the advertisement, the user can be provided with additional information about the advertised products or services and can even be given the opportunity to purchase the products or services electronically.
One of the most common methods of advertising via the Internet is through the use of links (e.g., uniform resource locators, known as URLs) embedded within web pages. By using embedded links, the advertisements need not be located on the same server as the web pages themselves. When the web page is loaded or reloaded, the advertising server is accessed to obtain a new advertisement which is incorporated into the web page displayed on the user""s screen. These advertisements are simple graphical images (such as animated gifs) that are retrieved from the advertising server along with an associated link to additional information about the advertised product or service. While this permits new advertising to be displayed each time a web page is loaded or refreshed, and while this allows geographically unlimited advertising, it at most permits targeting of the advertisement based upon the type of information contained in the web page. Moreover, access to a new advertisement is only available during the period of time that the client computer is connected to the Internet.
Currently-available computer programs that incorporate advertising into their user interface include the necessary programming built into the software itself. That is, the various parameters relating to the presentation of the advertisement is pre-determined and programmed into the software. These parameters may include such things as where on the screen the advertisement is displayed, the display size, the duration of display, the number of times a particular advertisement is displayed, the conditions under which a particular advertisement is to be displayed, the type of action taken upon a user clicking on the advertisement, and so forth. One problem with these currently available programs is that these parameters can only be changed by replacement of the entire program with an updated, revised version, making it difficult to respond to desired changes in advertising approaches.
To provide demographically-targeted advertising, the advertiser or distributor of the advertising must obtain demographic data on its end users. Perhaps the most common way to acquire demographic data regarding users via the Internet is to request the information using a form written in html (HyperText Markup Language) and provided to the user over the World-Wide Web (WWW using http (HyperText Transfer Protocol). This is sometimes done as a prerequisite to allowing the user access to information resources or download software from a particular web site. While authentication of demographic information obtained this way is difficult and rarely done, it has been found that end users typically provide accurate demographic data in return for free download access to software. Furthermore, studies have shown that while people are concerned about privacy issues and, in particular, do not wish to provide specific information that identifies them (such as their name, address, or Social Security number), they generally do not mind providing demographic information, nor do they mind monitoring of their computer usage as long as their usage is not associated with any specific information that could be used to identify them.
Various other arrangements have been suggested for obtaining and reporting information about an end user over a computer network such as the Internet. For example, U.S. Pat. No. 5,724,521 to Dedrick discloses an electronic advertising system in which a user profile is created and transferred to a metering server where it is used along with other end user profiles to charge advertiser""s according to a consumer scale. The profile data is also used by the metering server to select advertisement titles that are sent to the end user for viewing at the request of the end user. When a user requests an advertisement, the metering server sends the advertisement to the end user, charges the advertiser, and provides the advertiser with profile data on that end user. The system can include client-side software which acquires and compiles information concerning the user""s interaction with the advertising or other content provided by the metering server.
U.S. Pat. No. 5,732,218 to Bland et al. discloses a system for gathering data concerning an end-user""s access to information resources and reporting the data back to the servers that contain the information resources. Data gathering at the client is accomplished using an applet, plug-in, or other browser extension that acquires the data and then reports that data to those servers accessed by the client, either periodically or in response to a specific request by the servers. In this way, the servers being accessed for their information resources get reported back to them information concerning the end-user""s use of that information. Limited demographic information (e.g., time zone, locale, client hardware) can be included in this reporting as well.
One of the disadvantages of prior art systems that acquire data regarding an end-user""s computer usage is that they are generally limited to gathering information concerning only certain limited uses of the computer. For example, in Bland et al., the focus of the gathering and use of end-user data is in the user""s interaction with web pages, whether over the Internet or otherwise. Similarly, in Dedrick, the compilation of data is directed to interaction between the end-user and the advertising or other content provided by the metering server itself. By limiting the reported data in this manner, it is difficult to develop accurate profiles for the individual users that are useful in targeting the advertising.
U.S. Pat. No. 5,347,632 to Filepp et al. discloses a reception system in which both user demographics and individual system usage information can be used to target advertising. However, this information is used to select which advertisements are to be placed into an advertisement queue from which advertisements are then accessed, apparently in the order in which they were placed in the queue. Thus, this system permits targeting of advertising generally, but does not provide real time targeting of advertising based upon user actions.
Internet users typically employ browser applications and related technologies in order to access the WWW; and to locate and view files, documents and audio/video clips. Exemplary browser applications include Opera by Opera Software, Netscape Navigator, Netscape Communicator 4.6 and Microsoft Internet Explorer 5.0. Browser applications are loaded onto a user""s computer, and then can be used for communication over networks using protocols such as that utilized by the WWW. Browsers are useful for accessing desired files and web sites, and also have the capability of storing information regarding visited or favorite web sites on the user""s computer. However, it has been common practice for browsers to be employed by the user for fairly limited purposes, such as for accessing information. Certain applications, such as Windows NT 4.0, allow a user to receive and store electronic information on a limited network system. However, the usefulness and flexibility of such systems are severely limited, because each browser installation traditionally has been independent of other browser installations to which a user has access. Thus, information within one browser is not easily transportable to the other browser.
Except as may be explicitly indicated otherwise, the following definitions shall apply:
browserxe2x80x94A program that can communicate over a network using http or another protocol and that can display html information and other digital information.
client computerxe2x80x94A computer that is connected to a network (including computers that are connected only occasionally to the network such as, for example, by a modem and telephone line) and that can be used to send requests for information to other computers over the network.
computerxe2x80x94An apparatus having a processing device that is capable of executing instructions, including devices such as personal computers, laptop computers, and personal digital assistants, as well as set top television boxes, televisions, radios, portable telephones, and other such devices having a processing capability.
computer usage informationxe2x80x94Data concerning a person""s use of a computer, including such things as what programs they run, what information resources they access, what time of day or days of the week they use the computer, and so forth.
data setxe2x80x94A group of data items; for example, links, keywords, or entries in an address book.
display objectxe2x80x94Data capable of display by a computer, including graphical images as well as multimedia presentations or other display data that includes audio in addition to visually-perceived data.
filexe2x80x94Any digital item, including information, documents, applications, audio/video components, and the like, that is stored in memory and is accessible via a file allocation table or other pointing or indexing structure.
graphical imagexe2x80x94Visually-perceived data stored in a graphic format (e.g., jpeg, gif, bmp, tiff, pcx, etc.), including electronically-reproduced photographs, graphics, animations, icons, and textual messages.
information resourcexe2x80x94A source of information stored on a server or other computer that is accessible to other computers over a network.
keywordxe2x80x94A textual data item used in locating related sources of information
linkxe2x80x94A data item that identifies the location or address of a program or information resource. A URL is a link, as is a path and filename of an information resource.
networkxe2x80x94A system having at least two computers in communicable connection, including intranets, personal networks, virtual private networks, and global public networks such as the Internet.
non-volatile data storage devicexe2x80x94A memory device that retains computer-readable data or programming code in the absence of externally-supplied power, including such things as a hard disk or a floppy disk, a compact disk read-only memory (CDROM), digital versatile disk DVD), magneto-optical disk, and so forth.
profilexe2x80x94User-specific information relating to an individual using a computer.
program componentxe2x80x94A set of instructions stored in a file in computer-readable format, whether as object code or source code, and whether written in a compiled language, in byte code (such as Java(trademark)), or in a scripting or other interpreted language.
program modulexe2x80x94One or more related program components.
programxe2x80x94One or more related program modules.
reactivelyxe2x80x94In response to some type of user input, such as a mouse click on a particular user application or on a link to an information resource
serverxe2x80x94A computer on a network that stores information and that answers requests for information.
software applicationxe2x80x94A program and associated libraries and other files; for example, a word processing application, a spreadsheet application, or a personal information management application.
In accordance with one aspect of the present invention there is provided an apparatus for use by a computer to provide a user of the computer with access to information resources via the Internet or otherwise. The apparatus comprises a non-volatile data storage device with first and second program modules stored on the non-volatile storage device. The first program module is operable upon execution to display a graphical user interface comprising a window separated into a number of regions, with a first one of the regions including a number of user-selectable items, at least some of which are each associated with a different data set. The data sets are each representative of a different category of information (e.g., financial, news, sports, etc.) and each of the data sets comprise a number of user-selectable links to different information resources. For example, the data sets can be groups of related URLs, whereby the information resources comprise web pages accessible via the Internet. A second one of the regions comprises an information display region which can display such things as banner advertisements. The second program module is operable upon execution to select informational data to be displayed in the information display region. The first program module is operable in response to selection of a first one of the links to provide the user with access to its associated information resource and to notify the second program module of the selection of that first link. The second program module can be operable in response to notifications from the first program module to select the informational data to be displayed from among a larger amount of informational data, and the second program module can be further operable to store statistical data regarding the display of the selected informational data. This permits targeting of banner advertisements based upon the type of link (financial, news, sports, etc.) selected by the user, the software applications clicked on by the user, and other network accessible files accessed by the user.
In addition, the apparatus further includes user specific maintenance and organization of that user""s individual files and resources represented by the user-selectable links contained within the first program module, in order that an individual user can gain access to those files and resources from a computer having network access, or that multiple users can gain access to individual files stored on the same computer. Preferably, this is accomplished by storing a user profile and user library on a server connected to the network. Then, when a user runs the first program module, it identifies the user and connects to the server to access that user""s profile and library, with the profile being used to specify that individual""s user-selected links to be displayed in the first region and the library being used to store these individual files and resources that the user wishes to be able to access from anywhere on the network. Furthermore, either of the two program modules can be disabled, and instead of using both modules, the user can use either of the modules individually and independently.
In accordance with another aspect of the invention, there is provided a computer-readable memory for use by a computer to provide a user of the computer with an automatically-upgradeable software application. The computer readable memory comprises a non-volatile data storage device and a program that is separated into a plurality of program modules that are stored on the non-volatile data storage device. Some or all of the program modules have at least one version identifier associated with them. One of the program modules is operable upon execution to access the stored version identifier(s) and at least one updated version identifier from a server via a network, including a global public network such as the Internet. These updated version identifier(s) represent updated program modules accessible from a server via the network. This program module is further operable to download one or more updated program modules when the stored version identifier and the updated version identifier are different, with the updated program module(s) replacing one or more of the program modules. In this way, software upgrades can be carried out automatically without any user action required. Also, upgrading can be accomplished without having to download and install the entire software package. Preferably, the computer-readable memory is such that software can be updated even if multiple users have access to individual files stored on the same computer. Such updated software can be provided for the computer itself, or for selected users of that computer.
In accordance with another aspect of the present invention, there is provided a computer-readable memory for use by a computer that provides a software developer/distributor with an efficient mechanism for distributing software via a network. The computer readable memory comprises a non-volatile data storage device and a program that is separated into a plurality of program modules that are stored on the non-volatile data storage device. Some or all of the program modules have at least one version identifier associated with them. One of the program modules is operable upon execution to access the stored version identifier(s) and at least one updated version identifier from a server via a network, including a global public network such as the Internet. These updated version identifier(s) represent updated program modules accessible from a server via the network. This program module is further operable, if desired, to download one or more updated program modules when the stored version identifier and the updated version identifier are different, with the updated program module(s) replacing one or more of the program modules. In this way, software upgrades can be carried out, either as desired and requested or automatically without any user action required. Also, upgrading can be accomplished without having to download and install an entire software package. Preferably, the computer-readable memory is such that software can be updated even if different users have access to individual files stored on the same computer. Alternatively, rather than replacing its own program modules, the program can be operable to handle distribution and upgrading of a separate software application using version identifiers for the various modules of the software application. Also, rather than comparing version identifiers at the client computer, this comparison can be carried out at the server, with the necessary upgraded modules then being downloaded to the client computer. Thus, new software can be distributed to a user, software updates can be provided to a user (e.g., applications and anti-virus software), and software maintenance can be carried out. This, provides third party software developers/distributors with a distribution tool to distribute, upgrade, service and maintain their software.
In accordance with another aspect of the invention, a method is provided for supplying demographically-targeted advertising to a computer user. For computer users who share a computer, each user is provided personalized, demographically-targeted advertising. The method includes the steps of:
providing a server that is accessible via a computer network such as the Internet,
permitting a computer user to access the server via the computer network,
acquiring demographic information about the user (which includes information specifically provided by the user in response to a request for the demographic information, and also can include information gathered from computer usage information; and such information can be provided for each of a number of different users of the same computer),
providing the user with download access to computer software that, when run on a computer, displays advertising content, records computer usage information concerning the user""s utilization of the computer, and periodically requests additional advertising content,
transferring a copy of the software to the computer in response to a download request by the user,
providing a unique identifier to the computer, with the identifier uniquely identifing information sent over the computer network from the computer to the server,
associating the unique identifier with demographic information in a database,
selecting advertising content for transfer to the computer in accordance with the demographic information associated with the unique identifier,
transferring the advertising content from the server to the computer for display by the program,
periodically acquiring the unique identifier and the computer usage information recorded by the software from the computer via the computer network, and
associating the computer usage information with the demographic information using the unique identifier.
In accordance with yet another aspect of the invention, there is provided a computer-readable memory for use by a computer to provide a user of the computer with targeted information. The memory comprises a non-volatile data storage device and a program stored thereon. The program is operable upon execution to display a window containing an information display region. The program is also operable to select and display informational data (such as a banner advertisement) in the information display region. The informational data comprises a plurality of display objects with at least some of the display objects each having a data set associated therewith. The data sets each include one or more of the following data items:
a category identifier that indicates a category of information to which the associated display object relates, wherein the program is operable in response to receiving user input relating to one of the categories of information to display in the information display region a display object having an associated category identifier that relates to that one category of information;
a software application identifier that identifies a software application that may be accessible to the user via the computer, wherein the program is operable in response to user selection of the software application to display in the information display region a display object associated with the selected software application.
These identifiers permit real time, reactively-targeted advertising since the program can respond to user interaction with the computer to determine whether the input relates to a particular category of information and, if so, can select advertising related to that category of information. In addition, these identifiers can work independently from, or in conjunction with, demographic information previously supplied by the user.
The present invention, in yet another aspect, provides a computer-readable memory for presenting a user with an integrated, customized graphical user interface for use in conjunction with a network, such as the Internet. The computer-readable memory comprises a non-volatile data storage device and a program stored on the data storage device that is operable upon execution to display a graphical user interface that includes an application window separated into a number of regions. The first one of these regions includes a number of graphical objects such as icons, at least some of which are each representative of a different software application and are selectable by the user via an input device, with the program being operable upon selection of one of the graphical objects to initiate execution of the software application associated therewith. A second one of the regions includes a number of user selectable items such as icons, at least some of which are each associated with a different data set. The data sets are each representative of a different category of information and each of the data sets comprise a number of user selectable links different information resources, such as URLs. The program includes a login module that is operable upon execution to identify the user of the computer and the computer is operable following execution of the login module to provide an identification of the user to the server and to thereafter receive from the server a user profile that contains one or more user data sets and user links to information resources. The program is then further operable to display in one of the regions a user selectable item for each of the user data sets and user links contained within the user profile. The user profile can contain other application set up and preference information. This provides the computer user with the ability to customize and manage computer applications, bookmarks, documents, files, and audio and video clips, all on any computer having network access. In addition, as the user employs the apparatus, that user""s files can be automatically updated and loaded within that user""s profile on the server. Furthermore, links to files at other locations (e.g., URLs) can be loaded within the user""s profile. That profile is accessible to the user from any computer, regardless of computer, location or network access capability. Thus, access to files is controlled by the computer user; rather than that control being held by the user""s computer. That is, the user can move from place to place, and from computer to computer, and still have access to an updated, personal profile. Thus, a very portable system allows for downloading and use of a wide variety of software related information from a wide number of locations and a wide number of devices.